﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using AccesoDatos.Objetos;
using AccesoDatos.Manejador;

namespace Autorizacion_facturas_caja.Vacaciones
{
    public partial class frmVacaciones_Busqueda_Empleado : Form
    {
        objRH obj = new objRH();
        objVacaciones obj1 = new objVacaciones();
        Manejador_Vacaciones MV = new Manejador_Vacaciones();
        Manejador_Empleado_Captura Mane = new Manejador_Empleado_Captura();

        #region FUNCIONES
        //llama a ametodos y realiza busqueda de empleados
        public frmVacaciones_Busqueda_Empleado()
        {
            InitializeComponent();
            ObtieneDatosCombo();
            obj.Buscar = txtBuscar.Text.Trim();
            obj.SucId = cmbSucursal.SelectedValue.ToString();
            dataGridView1.DataSource = MV.VacacionesEmpleados(obj.Buscar, obj.SucId);
            propiedadesColumnas();
        }

        //Obtiene los datos de la tabla cat_sucursales al combo de sucursales
        private void ObtieneDatosCombo()
        {
            cmbSucursal.DataSource = Mane.ObtieneSucursales();
            cmbSucursal.ValueMember = "SucId";
            cmbSucursal.DisplayMember = "Nombre";
        }

        //realiza la busqueda para la forma
        private void buscar()
        {
            obj.Buscar = txtBuscar.Text.Trim();
            obj.SucId = cmbSucursal.SelectedValue.ToString();
            dataGridView1.DataSource = MV.VacacionesEmpleados(obj.Buscar, obj.SucId);
            propiedadesColumnas();
        }


        //Propiedades de las comlumnas
        private void propiedadesColumnas()
        {
            this.dataGridView1.RowHeadersVisible = false;

            /*Esconde las columnas*/
            this.dataGridView1.Columns["id_empleado"].Visible = false;
            this.dataGridView1.Columns["id_sucursal"].Visible = false;
            this.dataGridView1.Columns["fecha_ingreso"].Visible = false;
            this.dataGridView1.Columns["id_jefe"].Visible = false;
            this.dataGridView1.Columns["cuenta_banco"].Visible = false;
            this.dataGridView1.Columns["estatus"].Visible = false;
            this.dataGridView1.Columns["nombre"].Visible = false;
            this.dataGridView1.Columns["apellidos"].Visible = false;
            this.dataGridView1.Columns["Id_Vacaciones"].Visible = false;
            this.dataGridView1.Columns["Id_Empleado1"].Visible = false;
            this.dataGridView1.Columns["id_departamento"].Visible = false;
            this.dataGridView1.Columns["id_departamento1"].Visible = false;
            this.dataGridView1.Columns["id_empresa"].Visible = false;
            this.dataGridView1.Columns["autorizado"].Visible = false;
            this.dataGridView1.Columns["Estatus"].Visible = false;
            this.dataGridView1.Columns["Estatus1"].Visible = false;
            this.dataGridView1.Columns["Referencia"].Visible = false;
            this.dataGridView1.Columns["Id_Vacaciones"].Visible = false;
            this.dataGridView1.Columns["Dias_Acomulados"].Visible = false;
            this.dataGridView1.Columns["Monto_Prima"].Visible = false;
            this.dataGridView1.Columns["Ciclo"].Visible = false;
            this.dataGridView1.Columns["Monto_Dias_Acomulados"].Visible = false;
            this.dataGridView1.Columns["Fecha_Alta"].Visible = false;
            this.dataGridView1.Columns["Periodo"].Visible = false;
            this.dataGridView1.Columns["Dias_Disfrutados"].Visible = false;
            this.dataGridView1.Columns["Dias_Correspondientes"].Visible = false;
            this.dataGridView1.Columns["Dias_Programados"].Visible = false;
            this.dataGridView1.Columns["Dias_Pagados"].Visible = false;
            this.dataGridView1.Columns["Monto_Dias_Pagados"].Visible = false;
            this.dataGridView1.Columns["id_jefe1"].Visible = false;
            this.dataGridView1.Columns["idsucursal"].Visible = false;

            //Renombra columnas

            this.dataGridView1.Columns["Nombre_apellidos"].HeaderText = "EMPLEADO";
            this.dataGridView1.Columns["departamento"].HeaderText = "DEPARTAMENTO";
            this.dataGridView1.Columns["Dias_Programados"].HeaderText = "DÍAS PROGRAMADOS";
            this.dataGridView1.Columns["puesto"].HeaderText = "PUESTO";
            this.dataGridView1.Columns["Dias_Correspondientes"].HeaderText = "DÍAS CORRESPONDIENTES";
            this.dataGridView1.Columns["Dias_Disfrutados"].HeaderText = "DÍAS DISFRUTADOS";
            this.dataGridView1.Columns["Dias_Restantes"].HeaderText = "DÍAS RESTANTES";
            this.dataGridView1.Columns["Antiguedad"].HeaderText = "ANTIGUEDAD";
            this.dataGridView1.Columns["Nombre_apellidos"].DisplayIndex = 0;
            this.dataGridView1.Columns["departamento"].DisplayIndex = 2;
            this.dataGridView1.Columns["puesto"].DisplayIndex = 3;
            this.dataGridView1.Columns["Antiguedad"].DisplayIndex = 4;
            this.dataGridView1.Columns["Antiguedad"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            this.dataGridView1.Columns["Dias_Correspondientes"].DisplayIndex = 5;
            this.dataGridView1.Columns["Dias_Correspondientes"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            this.dataGridView1.Columns["Dias_Disfrutados"].DisplayIndex = 6;
            this.dataGridView1.Columns["Dias_Disfrutados"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            this.dataGridView1.Columns["Dias_Restantes"].DisplayIndex = 7;
            this.dataGridView1.Columns["Dias_Restantes"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            this.dataGridView1.Columns["Periodo"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            this.dataGridView1.Columns["Dias_Programados"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            this.dataGridView1.Columns["Nombre_apellidos"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
            this.dataGridView1.Columns["departamento"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
            this.dataGridView1.Columns["Dias_Programados"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
            this.dataGridView1.Columns["puesto"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
            this.dataGridView1.Columns["Dias_Correspondientes"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
            this.dataGridView1.Columns["Dias_Disfrutados"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
            this.dataGridView1.Columns["Dias_Restantes"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
            this.dataGridView1.Columns["Antiguedad"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
        }

        //obtiene el id del empleado seleccionado y despliega el reporte
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex != 0 && e.RowIndex >= 0)
            {
                obj.Id_Empleado = Convert.ToInt32(dataGridView1[0, e.RowIndex].Value);

                frmVacaciones_Reporte_General fvv = new frmVacaciones_Reporte_General(obj);
                fvv.ShowDialog();
                dataGridView1.DataSource = MV.VacacionesEmpleados(obj.Buscar, obj.SucId);
                propiedadesColumnas();
            }
        }
        #endregion

        #region BOTONES

        //llama al metodo buscar
        private void btnBuscar_Click(object sender, EventArgs e)
        {
            buscar();
        }
        //cierra la forma
        private void btnRegresar_Click(object sender, EventArgs e)
        {
            Close();
        }
        #endregion

        #region  EVENTOS
        //coloca tips en botones
        private void frmVacaciones_Busqueda_Empleado_Load(object sender, EventArgs e)
        {
            toolTip1.SetToolTip(btnBuscar, "BUSCAR");
            toolTip1.SetToolTip(btnRegresar, "REGRESAR");
        }
        //llama al metodo buscar
        private void txtBuscar_TextChanged(object sender, EventArgs e)
        {
            buscar();
        }
        #endregion 
    }
}
